package com.taobao.ucenter.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.taobao.ucenter.model.po.Menu;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author itcast
 */
public interface MenuMapper extends BaseMapper<Menu> {


    /**
     * 先找出指定用户拥有的所有角色（通过user_role）。
     * 再找出这些角色可以访问的所有菜单项（通过permission）。
     * 最后返回这些菜单项的信息（通过menu）。
     */
    @Select("SELECT	* FROM tb_menu WHERE id IN (SELECT menu_id FROM tb_permission WHERE role_id IN ( SELECT role_id FROM tb_user_role WHERE tb_id = #{tbId} ))")
    List<Menu> selectPermissionByUserId(@Param("tbId") String tbId);
}
